! function() {
	var Ceshi = new Object;
	Ceshi.createNew = FCreateNew;

	function FCreateNew() {
		
		var ceshi = new Object;
		ceshi._a = function (value) {
		    return value;
		}
		ceshi.b = function (value) {
		    this._a = value;
		    return this;
		}
//		var v;
//		Object.defineProperty(ceshi, "_a", {//定义对象属性_a
//			get:  function () {
//			    return v;
//			},
//			set: function (value) {
//			    v = value;
//			}
//		});
//		Object.defineProperty(ceshi, "b", {//定义对象方法b,给_a赋值
//			value: function(v) {
//				this._a = v;
//				return this;
//			}
//		});
		
		//给_a赋值
		ceshi._a = "11";
		console.log(ceshi._a);//11
		//通过调用方法b给_a赋值
		ceshi.b = "33";
		console.log(ceshi.b);	//33方法被重写
		console.log(ceshi._a);	//11
		//当出现语法错误时，结果如何
		console.log(ceshi.b);	//Uncaught TypeError: ceshi.b is not a function
		console.log(ceshi._a);	//
		return ceshi;
	};
	this.Ceshi = Ceshi;
}();
//  "use strict";
//  try{
//    var o = {};
//    Object.defineProperty( o, "attr", {
//      value: "这是利用defindProperty添加的新属性",
//      writable: false,
//      enumerable: true,
//      configurable: true
//    });
//
//    (function(){
//      var name = "司徒正美";
//      //读写器
//      Object.defineProperty( o, "name", {
//        get: function(){ return name; },
//        set: function(value){ name = value+"!"; }
//      });
//    })();
//
//    alert( o.attr )
//    // 这是利用defindProperty添加的新属性
//
//    alert( o.name );  // 司徒正美
//
//    o.name = "ruby louvre";
//    alert( o.name );  // ruby louvre
//
//    alert( Object.keys(o))//attr
//    try{
//      o.attr = "试图重写该属性";
//    }catch(ee){
//      alert("与writable: false冲突");
//    }
//    Object.defineProperty( o, "attr", {
//      writable: true,
//      configurable: false
//    });
//
//    o.attr = "再试尝试重写该属性";
//    alert( o.attr );
// 
//    alert(delete o.attr); //false 与writable: false冲突
//   
// 
//  }catch(e){
//    alert("你的游览器不支持Object.defineProperty ")
//  }